<?php
/**
 * Created by Silent Night.
 * Author: Silent Night
 * email: silentwolf_wp@163.com
 * Date: 2017/9/28
 * Time: 9:19
 */

namespace app\admin\controller;

use think\Controller;
use think\Db;
use think\Session;

class Admin extends Controller
{
    private $_model;
    private $title_field = [
    ];
    public function _initialize()
    {
        $this->_model = new \app\admin\model\Admin();
        $this->assign('LoginUserInfo', $this->LoginUserInfo);
        //获取当前用户的权限信息
        $this->assign('ruleLists', $this->LoginUserInfo['CurrPower']);
        print_r($this->LoginUserInfo);

    }

    /**
     * 列表页
     * @return mixed
     */
    public function index()
    {

        return $this->fetch('index');
    }

    /**
     * 数据详情
     * @return mixed
     */
    public function detail()
    {
        $lists = $this->_model->getListById();
        $model = new \app\admin\model\Role();
        $res = $model->where(['id' => $lists['role_id']])->find();
        $lists['role_name'] = $res['role_name'];
        $this->assign('lists', $lists);
        return $this->fetch('detail');
    }

    /**
     * 添加
     * @return mixed
     */
    public function add()
    {
        if ($_FILES) {
            $file = request()->file('head');
            $time = time();
//            var_dump(LIB_PATH);die;
            $save_path = dirname(realpath(APP_PATH)) . "/public/upload/images/";
            if (isset($_FILES['head'])) // 上传附件
            {
                $pImg = $_FILES['head'];
                if ($pImg['error'] == '0') {
                    $extName = explode('.', $pImg['name']);
                    if (!is_dir($save_path)) {
                        mkdir($save_path);
                    }
                    $save_path = $save_path . $time . "." . $extName[1];
                    move_uploaded_file($_FILES["head"]["tmp_name"], $save_path);
                }
            }
        }
        if (request()->isPost()) {
            if ($this->_model->add($save_path)['error'] != 1) {
                $this->success('添加成功', url('Admin/index'), '', 1);
            } else {
                $this->error($this->_model->add($save_path)['msg'], url('Admin/add'));
            }
        }
        $lists = $this->_model->getRoleAdd();
        $this->assign('lists', $lists);
        return $this->fetch('add');
    }

    /**
     * 编辑
     * @return mixed
     */
    public function edit()
    {
        if (request()->isPost()) {
            if (!request()->file()) {
                $data = $this->_model->getIamge();
                $save_path = $data['head'];
                if ($this->_model->editImage($save_path)) {
                    $this->success('编辑成功', url('Admin/index'), '', 1);
                } else {
                    $this->error('编辑失败', url('Admin/edit', 'id=' . input('id')));
                }
            } else {
                $file = request()->file('head');
                $time = time();
                $save_path = dirname(realpath(APP_PATH)) . "/public/upload/images/";
                if (isset($_FILES['head'])) // 上传附件
                {
                    $pImg = $_FILES['head'];
                    if ($pImg['error'] == '0') {
                        $extName = explode('.', $pImg['name']);
                        if (!is_dir($save_path)) {
                            mkdir($save_path);
                        }
                        $save_path = $save_path . $time . "." . $extName[1];
                        move_uploaded_file($_FILES["head"]["tmp_name"], $save_path);
                    }
                }
            }
            if ($this->_model->edit($save_path)) {
                $this->success('编辑成功', url('Admin/index'), '', 1);
            } else {
                $this->error('编辑失败', url('Admin/edit', 'id=' . input('id')));
            }
        } else {
            $data = $this->_model->getListById();
            $this->assign('data', $data);
        }

        return $this->fetch('edit');
    }

    /**
     * 删除
     * 支持批量删除和单条删除
     * @return mixed
     */
    public function del()
    {
        if ($this->_model->del()) {
            $this->success('删除成功', url('Admin/index'));
        } else {
            $this->error('删除失败', url('Admin/index'));
        }
        return $this->fetch('index');
    }

    /**
     * 设置角色
     */
    public function set()
    {
        if (request()->isPost()) {
            if ($this->_model->setroleupdate()) {
                $this->success('设置成功', url('Admin/index'));
            } else {
                $this->error('设置失败', url('Admin/index'));
            }
        } else {
            $lists = $this->_model->getRoleAdd();
            $data = $this->_model->getListById();
            $this->assign('lists', $lists);
            $this->assign('data', $data);
        }
        return $this->fetch('set');
    }

    /**
     * 批量设置数据有效性
     * @return mixed
     */
    public function setValid()
    {
        if ($this->_model->setValid()) {
            $return = ['erro' => 0, 'msg' => '设置成功'];
        } else {
            $return = ['erro' => 1, 'msg' => '设置失败'];
        }
        return json($return);
    }
//    /**
//     * 导出Excel文件
//     */
//    public function export_excel_file()
//    {
//
//        $u = new \app\admin\model\Admin();
//        $data = $u->field('id',true)->select()->toArray();
//        $name = 'user_'.time();
//
//        // 调用函数 导出excel表  $data为数据 $title_field 为Excel表与字段对应关系 $name为Excel表文件名
//        createExcel($data,$this->title_field,$name);
//    }
//
//    /**
//     * 导入Excel数据
//     */
//    public function addExcel()
//    {
//        //接收前台文件
//        $file = $_FILES['file'];
//        // 获取文件后缀
//        $ext = substr($file['name'],stripos($file['name'],'.')+1);
//        //重设置文件名
//        $filename = substr($file['name'],'0',stripos($file['name'],'.')).time().substr($file['name'],stripos($file['name'],'.'));
//        $path = dirname(realpath(APP_PATH))."/upload/file/".$filename;//设置移动路径
//        move_uploaded_file($file['tmp_name'],$path);
//        //表用函数方法 获取Excel文件数据返回数组
//        $datas = readExcel($path,$ext);
//        // 根据数据顺序 获取一一匹配数据表字段
//        $sort_field = [];
//        foreach($datas[0] as $v){
//            foreach($this->title_field as $key=>$value){
//                if($v==$value){
//                    $sort_field[] = $key;
//                }
//            }
//        }
//        // 根据数据表字段 匹配组装数据
//        $insert_datas = [];
//        for($i=1;$i<count($datas);$i++){
//            foreach($datas[$i] as $k=>$v){
//                if(!empty($v)){
//                    $insert_data[$sort_field[$k]] = $v;
//                }
//            }
//            $insert_datas[] = $insert_data;
//        }
//        // 导入数据
//        if($this->_model->addAll($insert_datas)){
//            $this->success('导入成功',url('Admin/index'));
//        }else{
//            $this->error('导入失败',url('Admin/index'));
//        }
//    }
//
//    /**
//     * 下载Excel模板文件
//     */
//    public function load_template_file(){
//        download_template_file('admin_template.xls');
//    }
}